package GUI;

/*********************************************
* Un squelette de serveur TCP Multi-Processus.
*
* Yann & JC
* INSA TOULOUSE
**********************************************/
import java.net.Socket;
import java.net.ServerSocket;
public abstract class AbstractTCPServeur extends Thread
{
    int port;
    ///////////////////////////////////////////////
    ///////////////////////////////////////////////
    public AbstractTCPServeur(int port)
    {
        this.port=port;
        start();
    }
    ///////////////////////////////////////////////
    ///////////////////////////////////////////////
    public abstract void startThreadServer(Socket s);
    ///////////////////////////////////////////////
    ///////////////////////////////////////////////
    public void run()
    {
        try
        {
            System.out.println("Serveur TCP sur le port "+port+"...");
            ServerSocket srv=new ServerSocket(port);
            while(true)
            {
                Socket client=srv.accept();
                startThreadServer(client);
            }
        }
        catch(Exception e)
        {
            System.err.println("Arret du serveur.");
            System.err.println(e);
        }
    }
}
